package com.seraph.zys.dao.impl;

import com.seraph.bi.suite.support.domain.pagination.PageBox;
import com.seraph.bi.suite.support.domain.pagination.PageObject;
import com.seraph.zys.dao.PcPatientVisitFeeDAO;
import com.seraph.zys.dao.domain.PcPatientVisitFee;
import com.seraph.zys.dao.domain.PcPatientVisitFeeExample;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

@Repository
public class PcPatientVisitFeeDAOImpl extends SqlMapClientDaoSupport implements PcPatientVisitFeeDAO {

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public PcPatientVisitFeeDAOImpl() {
        super();
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public Integer insert(PcPatientVisitFee record) {
        Object newKey = getSqlMapClientTemplate().insert("pc_patient_visit_fee.abatorgenerated_insert", record);
        return (Integer) newKey;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public int updateByPrimaryKey(PcPatientVisitFee record) {
        int rows = getSqlMapClientTemplate().update("pc_patient_visit_fee.abatorgenerated_updateByPrimaryKey", record);
        return rows;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public int updateByPrimaryKeySelective(PcPatientVisitFee record) {
        int rows = getSqlMapClientTemplate().update("pc_patient_visit_fee.abatorgenerated_updateByPrimaryKeySelective", record);
        return rows;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public List selectByExample(PcPatientVisitFeeExample example, String orderByClause) {
        Map parms = getExampleParms(example);
        if (orderByClause != null) {
            parms.put("ABATOR_ORDER_BY_CLAUSE", orderByClause);
        }
        List list = getSqlMapClientTemplate().queryForList("pc_patient_visit_fee.abatorgenerated_selectByExample", parms);
        return list;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public List selectByExample(PcPatientVisitFeeExample example) {
        return selectByExample(example, null);
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public PcPatientVisitFee selectByPrimaryKey(Integer id) {
        PcPatientVisitFee key = new PcPatientVisitFee();
        key.setId(id);
        PcPatientVisitFee record = (PcPatientVisitFee) getSqlMapClientTemplate().queryForObject("pc_patient_visit_fee.abatorgenerated_selectByPrimaryKey", key);
        return record;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public int deleteByExample(PcPatientVisitFeeExample example) {
        int rows = getSqlMapClientTemplate().delete("pc_patient_visit_fee.abatorgenerated_deleteByExample", getExampleParms(example));
        return rows;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public int deleteByPrimaryKey(Integer id) {
        PcPatientVisitFee key = new PcPatientVisitFee();
        key.setId(id);
        int rows = getSqlMapClientTemplate().delete("pc_patient_visit_fee.abatorgenerated_deleteByPrimaryKey", key);
        return rows;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getIDExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getId_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_ID_NULL", "Y");
            } else {
                parms.put("AND_ID_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_ID_NOT_NULL", "Y");
            } else {
                parms.put("AND_ID_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_ID_EQUALS", "Y");
            } else {
                parms.put("AND_ID_EQUALS", "Y");
            }
            parms.put("id", example.getId());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_ID_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_ID_NOT_EQUALS", "Y");
            }
            parms.put("id", example.getId());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_ID_GT", "Y");
            } else {
                parms.put("AND_ID_GT", "Y");
            }
            parms.put("id", example.getId());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_ID_GE", "Y");
            } else {
                parms.put("AND_ID_GE", "Y");
            }
            parms.put("id", example.getId());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_ID_LT", "Y");
            } else {
                parms.put("AND_ID_LT", "Y");
            }
            parms.put("id", example.getId());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_ID_LE", "Y");
            } else {
                parms.put("AND_ID_LE", "Y");
            }
            parms.put("id", example.getId());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getFISCAL_YEARExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getFiscalYear_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FISCAL_YEAR_NULL", "Y");
            } else {
                parms.put("AND_FISCAL_YEAR_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FISCAL_YEAR_NOT_NULL", "Y");
            } else {
                parms.put("AND_FISCAL_YEAR_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FISCAL_YEAR_EQUALS", "Y");
            } else {
                parms.put("AND_FISCAL_YEAR_EQUALS", "Y");
            }
            parms.put("fiscalYear", example.getFiscalYear());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FISCAL_YEAR_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_FISCAL_YEAR_NOT_EQUALS", "Y");
            }
            parms.put("fiscalYear", example.getFiscalYear());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FISCAL_YEAR_GT", "Y");
            } else {
                parms.put("AND_FISCAL_YEAR_GT", "Y");
            }
            parms.put("fiscalYear", example.getFiscalYear());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FISCAL_YEAR_GE", "Y");
            } else {
                parms.put("AND_FISCAL_YEAR_GE", "Y");
            }
            parms.put("fiscalYear", example.getFiscalYear());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FISCAL_YEAR_LT", "Y");
            } else {
                parms.put("AND_FISCAL_YEAR_LT", "Y");
            }
            parms.put("fiscalYear", example.getFiscalYear());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FISCAL_YEAR_LE", "Y");
            } else {
                parms.put("AND_FISCAL_YEAR_LE", "Y");
            }
            parms.put("fiscalYear", example.getFiscalYear());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getFROM_AREAExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getFromArea_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FROM_AREA_NULL", "Y");
            } else {
                parms.put("AND_FROM_AREA_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FROM_AREA_NOT_NULL", "Y");
            } else {
                parms.put("AND_FROM_AREA_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FROM_AREA_EQUALS", "Y");
            } else {
                parms.put("AND_FROM_AREA_EQUALS", "Y");
            }
            parms.put("fromArea", example.getFromArea());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FROM_AREA_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_FROM_AREA_NOT_EQUALS", "Y");
            }
            parms.put("fromArea", example.getFromArea());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FROM_AREA_GT", "Y");
            } else {
                parms.put("AND_FROM_AREA_GT", "Y");
            }
            parms.put("fromArea", example.getFromArea());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FROM_AREA_GE", "Y");
            } else {
                parms.put("AND_FROM_AREA_GE", "Y");
            }
            parms.put("fromArea", example.getFromArea());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FROM_AREA_LT", "Y");
            } else {
                parms.put("AND_FROM_AREA_LT", "Y");
            }
            parms.put("fromArea", example.getFromArea());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FROM_AREA_LE", "Y");
            } else {
                parms.put("AND_FROM_AREA_LE", "Y");
            }
            parms.put("fromArea", example.getFromArea());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LIKE:
            if (example.isCombineTypeOr()) {
                parms.put("OR_FROM_AREA_LIKE", "Y");
            } else {
                parms.put("AND_FROM_AREA_LIKE", "Y");
            }
            parms.put("fromArea", example.getFromArea());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getSORT_IDExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getSortId_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SORT_ID_NULL", "Y");
            } else {
                parms.put("AND_SORT_ID_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SORT_ID_NOT_NULL", "Y");
            } else {
                parms.put("AND_SORT_ID_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SORT_ID_EQUALS", "Y");
            } else {
                parms.put("AND_SORT_ID_EQUALS", "Y");
            }
            parms.put("sortId", example.getSortId());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SORT_ID_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_SORT_ID_NOT_EQUALS", "Y");
            }
            parms.put("sortId", example.getSortId());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SORT_ID_GT", "Y");
            } else {
                parms.put("AND_SORT_ID_GT", "Y");
            }
            parms.put("sortId", example.getSortId());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SORT_ID_GE", "Y");
            } else {
                parms.put("AND_SORT_ID_GE", "Y");
            }
            parms.put("sortId", example.getSortId());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SORT_ID_LT", "Y");
            } else {
                parms.put("AND_SORT_ID_LT", "Y");
            }
            parms.put("sortId", example.getSortId());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SORT_ID_LE", "Y");
            } else {
                parms.put("AND_SORT_ID_LE", "Y");
            }
            parms.put("sortId", example.getSortId());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getPATIENT_TYPEExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getPatientType_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_TYPE_NULL", "Y");
            } else {
                parms.put("AND_PATIENT_TYPE_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_TYPE_NOT_NULL", "Y");
            } else {
                parms.put("AND_PATIENT_TYPE_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_TYPE_EQUALS", "Y");
            } else {
                parms.put("AND_PATIENT_TYPE_EQUALS", "Y");
            }
            parms.put("patientType", example.getPatientType());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_TYPE_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_PATIENT_TYPE_NOT_EQUALS", "Y");
            }
            parms.put("patientType", example.getPatientType());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_TYPE_GT", "Y");
            } else {
                parms.put("AND_PATIENT_TYPE_GT", "Y");
            }
            parms.put("patientType", example.getPatientType());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_TYPE_GE", "Y");
            } else {
                parms.put("AND_PATIENT_TYPE_GE", "Y");
            }
            parms.put("patientType", example.getPatientType());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_TYPE_LT", "Y");
            } else {
                parms.put("AND_PATIENT_TYPE_LT", "Y");
            }
            parms.put("patientType", example.getPatientType());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_TYPE_LE", "Y");
            } else {
                parms.put("AND_PATIENT_TYPE_LE", "Y");
            }
            parms.put("patientType", example.getPatientType());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LIKE:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_TYPE_LIKE", "Y");
            } else {
                parms.put("AND_PATIENT_TYPE_LIKE", "Y");
            }
            parms.put("patientType", example.getPatientType());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getPATIENT_NUMExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getPatientNum_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_NUM_NULL", "Y");
            } else {
                parms.put("AND_PATIENT_NUM_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_NUM_NOT_NULL", "Y");
            } else {
                parms.put("AND_PATIENT_NUM_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_NUM_EQUALS", "Y");
            } else {
                parms.put("AND_PATIENT_NUM_EQUALS", "Y");
            }
            parms.put("patientNum", example.getPatientNum());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_NUM_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_PATIENT_NUM_NOT_EQUALS", "Y");
            }
            parms.put("patientNum", example.getPatientNum());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_NUM_GT", "Y");
            } else {
                parms.put("AND_PATIENT_NUM_GT", "Y");
            }
            parms.put("patientNum", example.getPatientNum());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_NUM_GE", "Y");
            } else {
                parms.put("AND_PATIENT_NUM_GE", "Y");
            }
            parms.put("patientNum", example.getPatientNum());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_NUM_LT", "Y");
            } else {
                parms.put("AND_PATIENT_NUM_LT", "Y");
            }
            parms.put("patientNum", example.getPatientNum());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_PATIENT_NUM_LE", "Y");
            } else {
                parms.put("AND_PATIENT_NUM_LE", "Y");
            }
            parms.put("patientNum", example.getPatientNum());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getSUSPICIOUS_MULTIPLEExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getSuspiciousMultiple_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_MULTIPLE_NULL", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_MULTIPLE_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_MULTIPLE_NOT_NULL", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_MULTIPLE_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_MULTIPLE_EQUALS", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_MULTIPLE_EQUALS", "Y");
            }
            parms.put("suspiciousMultiple", example.getSuspiciousMultiple());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_MULTIPLE_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_MULTIPLE_NOT_EQUALS", "Y");
            }
            parms.put("suspiciousMultiple", example.getSuspiciousMultiple());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_MULTIPLE_GT", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_MULTIPLE_GT", "Y");
            }
            parms.put("suspiciousMultiple", example.getSuspiciousMultiple());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_MULTIPLE_GE", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_MULTIPLE_GE", "Y");
            }
            parms.put("suspiciousMultiple", example.getSuspiciousMultiple());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_MULTIPLE_LT", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_MULTIPLE_LT", "Y");
            }
            parms.put("suspiciousMultiple", example.getSuspiciousMultiple());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_MULTIPLE_LE", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_MULTIPLE_LE", "Y");
            }
            parms.put("suspiciousMultiple", example.getSuspiciousMultiple());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getSUSPICIOUS_FEEExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getSuspiciousFee_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_FEE_NULL", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_FEE_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_FEE_NOT_NULL", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_FEE_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_FEE_EQUALS", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_FEE_EQUALS", "Y");
            }
            parms.put("suspiciousFee", example.getSuspiciousFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_FEE_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_FEE_NOT_EQUALS", "Y");
            }
            parms.put("suspiciousFee", example.getSuspiciousFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_FEE_GT", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_FEE_GT", "Y");
            }
            parms.put("suspiciousFee", example.getSuspiciousFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_FEE_GE", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_FEE_GE", "Y");
            }
            parms.put("suspiciousFee", example.getSuspiciousFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_FEE_LT", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_FEE_LT", "Y");
            }
            parms.put("suspiciousFee", example.getSuspiciousFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SUSPICIOUS_FEE_LE", "Y");
            } else {
                parms.put("AND_SUSPICIOUS_FEE_LE", "Y");
            }
            parms.put("suspiciousFee", example.getSuspiciousFee());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getCHEST_PROPORTIONExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getChestProportion_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_PROPORTION_NULL", "Y");
            } else {
                parms.put("AND_CHEST_PROPORTION_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_PROPORTION_NOT_NULL", "Y");
            } else {
                parms.put("AND_CHEST_PROPORTION_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_PROPORTION_EQUALS", "Y");
            } else {
                parms.put("AND_CHEST_PROPORTION_EQUALS", "Y");
            }
            parms.put("chestProportion", example.getChestProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_PROPORTION_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_CHEST_PROPORTION_NOT_EQUALS", "Y");
            }
            parms.put("chestProportion", example.getChestProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_PROPORTION_GT", "Y");
            } else {
                parms.put("AND_CHEST_PROPORTION_GT", "Y");
            }
            parms.put("chestProportion", example.getChestProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_PROPORTION_GE", "Y");
            } else {
                parms.put("AND_CHEST_PROPORTION_GE", "Y");
            }
            parms.put("chestProportion", example.getChestProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_PROPORTION_LT", "Y");
            } else {
                parms.put("AND_CHEST_PROPORTION_LT", "Y");
            }
            parms.put("chestProportion", example.getChestProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_PROPORTION_LE", "Y");
            } else {
                parms.put("AND_CHEST_PROPORTION_LE", "Y");
            }
            parms.put("chestProportion", example.getChestProportion());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getCHEST_FEEExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getChestFee_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_FEE_NULL", "Y");
            } else {
                parms.put("AND_CHEST_FEE_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_FEE_NOT_NULL", "Y");
            } else {
                parms.put("AND_CHEST_FEE_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_FEE_EQUALS", "Y");
            } else {
                parms.put("AND_CHEST_FEE_EQUALS", "Y");
            }
            parms.put("chestFee", example.getChestFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_FEE_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_CHEST_FEE_NOT_EQUALS", "Y");
            }
            parms.put("chestFee", example.getChestFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_FEE_GT", "Y");
            } else {
                parms.put("AND_CHEST_FEE_GT", "Y");
            }
            parms.put("chestFee", example.getChestFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_FEE_GE", "Y");
            } else {
                parms.put("AND_CHEST_FEE_GE", "Y");
            }
            parms.put("chestFee", example.getChestFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_FEE_LT", "Y");
            } else {
                parms.put("AND_CHEST_FEE_LT", "Y");
            }
            parms.put("chestFee", example.getChestFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_CHEST_FEE_LE", "Y");
            } else {
                parms.put("AND_CHEST_FEE_LE", "Y");
            }
            parms.put("chestFee", example.getChestFee());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getSPUTUM_PROPORTIONExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getSputumProportion_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_PROPORTION_NULL", "Y");
            } else {
                parms.put("AND_SPUTUM_PROPORTION_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_PROPORTION_NOT_NULL", "Y");
            } else {
                parms.put("AND_SPUTUM_PROPORTION_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_PROPORTION_EQUALS", "Y");
            } else {
                parms.put("AND_SPUTUM_PROPORTION_EQUALS", "Y");
            }
            parms.put("sputumProportion", example.getSputumProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_PROPORTION_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_SPUTUM_PROPORTION_NOT_EQUALS", "Y");
            }
            parms.put("sputumProportion", example.getSputumProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_PROPORTION_GT", "Y");
            } else {
                parms.put("AND_SPUTUM_PROPORTION_GT", "Y");
            }
            parms.put("sputumProportion", example.getSputumProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_PROPORTION_GE", "Y");
            } else {
                parms.put("AND_SPUTUM_PROPORTION_GE", "Y");
            }
            parms.put("sputumProportion", example.getSputumProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_PROPORTION_LT", "Y");
            } else {
                parms.put("AND_SPUTUM_PROPORTION_LT", "Y");
            }
            parms.put("sputumProportion", example.getSputumProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_PROPORTION_LE", "Y");
            } else {
                parms.put("AND_SPUTUM_PROPORTION_LE", "Y");
            }
            parms.put("sputumProportion", example.getSputumProportion());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getSPUTUM_FEEExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getSputumFee_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_FEE_NULL", "Y");
            } else {
                parms.put("AND_SPUTUM_FEE_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_FEE_NOT_NULL", "Y");
            } else {
                parms.put("AND_SPUTUM_FEE_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_FEE_EQUALS", "Y");
            } else {
                parms.put("AND_SPUTUM_FEE_EQUALS", "Y");
            }
            parms.put("sputumFee", example.getSputumFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_FEE_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_SPUTUM_FEE_NOT_EQUALS", "Y");
            }
            parms.put("sputumFee", example.getSputumFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_FEE_GT", "Y");
            } else {
                parms.put("AND_SPUTUM_FEE_GT", "Y");
            }
            parms.put("sputumFee", example.getSputumFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_FEE_GE", "Y");
            } else {
                parms.put("AND_SPUTUM_FEE_GE", "Y");
            }
            parms.put("sputumFee", example.getSputumFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_FEE_LT", "Y");
            } else {
                parms.put("AND_SPUTUM_FEE_LT", "Y");
            }
            parms.put("sputumFee", example.getSputumFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_SPUTUM_FEE_LE", "Y");
            } else {
                parms.put("AND_SPUTUM_FEE_LE", "Y");
            }
            parms.put("sputumFee", example.getSputumFee());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getLIVER_PROPORTIONExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getLiverProportion_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_PROPORTION_NULL", "Y");
            } else {
                parms.put("AND_LIVER_PROPORTION_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_PROPORTION_NOT_NULL", "Y");
            } else {
                parms.put("AND_LIVER_PROPORTION_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_PROPORTION_EQUALS", "Y");
            } else {
                parms.put("AND_LIVER_PROPORTION_EQUALS", "Y");
            }
            parms.put("liverProportion", example.getLiverProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_PROPORTION_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_LIVER_PROPORTION_NOT_EQUALS", "Y");
            }
            parms.put("liverProportion", example.getLiverProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_PROPORTION_GT", "Y");
            } else {
                parms.put("AND_LIVER_PROPORTION_GT", "Y");
            }
            parms.put("liverProportion", example.getLiverProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_PROPORTION_GE", "Y");
            } else {
                parms.put("AND_LIVER_PROPORTION_GE", "Y");
            }
            parms.put("liverProportion", example.getLiverProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_PROPORTION_LT", "Y");
            } else {
                parms.put("AND_LIVER_PROPORTION_LT", "Y");
            }
            parms.put("liverProportion", example.getLiverProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_PROPORTION_LE", "Y");
            } else {
                parms.put("AND_LIVER_PROPORTION_LE", "Y");
            }
            parms.put("liverProportion", example.getLiverProportion());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getLIVER_FEEExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getLiverFee_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_FEE_NULL", "Y");
            } else {
                parms.put("AND_LIVER_FEE_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_FEE_NOT_NULL", "Y");
            } else {
                parms.put("AND_LIVER_FEE_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_FEE_EQUALS", "Y");
            } else {
                parms.put("AND_LIVER_FEE_EQUALS", "Y");
            }
            parms.put("liverFee", example.getLiverFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_FEE_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_LIVER_FEE_NOT_EQUALS", "Y");
            }
            parms.put("liverFee", example.getLiverFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_FEE_GT", "Y");
            } else {
                parms.put("AND_LIVER_FEE_GT", "Y");
            }
            parms.put("liverFee", example.getLiverFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_FEE_GE", "Y");
            } else {
                parms.put("AND_LIVER_FEE_GE", "Y");
            }
            parms.put("liverFee", example.getLiverFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_FEE_LT", "Y");
            } else {
                parms.put("AND_LIVER_FEE_LT", "Y");
            }
            parms.put("liverFee", example.getLiverFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_LIVER_FEE_LE", "Y");
            } else {
                parms.put("AND_LIVER_FEE_LE", "Y");
            }
            parms.put("liverFee", example.getLiverFee());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getBLOOD_PROPORTIONExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getBloodProportion_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_PROPORTION_NULL", "Y");
            } else {
                parms.put("AND_BLOOD_PROPORTION_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_PROPORTION_NOT_NULL", "Y");
            } else {
                parms.put("AND_BLOOD_PROPORTION_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_PROPORTION_EQUALS", "Y");
            } else {
                parms.put("AND_BLOOD_PROPORTION_EQUALS", "Y");
            }
            parms.put("bloodProportion", example.getBloodProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_PROPORTION_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_BLOOD_PROPORTION_NOT_EQUALS", "Y");
            }
            parms.put("bloodProportion", example.getBloodProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_PROPORTION_GT", "Y");
            } else {
                parms.put("AND_BLOOD_PROPORTION_GT", "Y");
            }
            parms.put("bloodProportion", example.getBloodProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_PROPORTION_GE", "Y");
            } else {
                parms.put("AND_BLOOD_PROPORTION_GE", "Y");
            }
            parms.put("bloodProportion", example.getBloodProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_PROPORTION_LT", "Y");
            } else {
                parms.put("AND_BLOOD_PROPORTION_LT", "Y");
            }
            parms.put("bloodProportion", example.getBloodProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_PROPORTION_LE", "Y");
            } else {
                parms.put("AND_BLOOD_PROPORTION_LE", "Y");
            }
            parms.put("bloodProportion", example.getBloodProportion());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getBLOOD_FEEExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getBloodFee_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_FEE_NULL", "Y");
            } else {
                parms.put("AND_BLOOD_FEE_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_FEE_NOT_NULL", "Y");
            } else {
                parms.put("AND_BLOOD_FEE_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_FEE_EQUALS", "Y");
            } else {
                parms.put("AND_BLOOD_FEE_EQUALS", "Y");
            }
            parms.put("bloodFee", example.getBloodFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_FEE_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_BLOOD_FEE_NOT_EQUALS", "Y");
            }
            parms.put("bloodFee", example.getBloodFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_FEE_GT", "Y");
            } else {
                parms.put("AND_BLOOD_FEE_GT", "Y");
            }
            parms.put("bloodFee", example.getBloodFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_FEE_GE", "Y");
            } else {
                parms.put("AND_BLOOD_FEE_GE", "Y");
            }
            parms.put("bloodFee", example.getBloodFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_FEE_LT", "Y");
            } else {
                parms.put("AND_BLOOD_FEE_LT", "Y");
            }
            parms.put("bloodFee", example.getBloodFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_BLOOD_FEE_LE", "Y");
            } else {
                parms.put("AND_BLOOD_FEE_LE", "Y");
            }
            parms.put("bloodFee", example.getBloodFee());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getOTHER_PROPORTIONExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getOtherProportion_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_PROPORTION_NULL", "Y");
            } else {
                parms.put("AND_OTHER_PROPORTION_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_PROPORTION_NOT_NULL", "Y");
            } else {
                parms.put("AND_OTHER_PROPORTION_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_PROPORTION_EQUALS", "Y");
            } else {
                parms.put("AND_OTHER_PROPORTION_EQUALS", "Y");
            }
            parms.put("otherProportion", example.getOtherProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_PROPORTION_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_OTHER_PROPORTION_NOT_EQUALS", "Y");
            }
            parms.put("otherProportion", example.getOtherProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_PROPORTION_GT", "Y");
            } else {
                parms.put("AND_OTHER_PROPORTION_GT", "Y");
            }
            parms.put("otherProportion", example.getOtherProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_PROPORTION_GE", "Y");
            } else {
                parms.put("AND_OTHER_PROPORTION_GE", "Y");
            }
            parms.put("otherProportion", example.getOtherProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_PROPORTION_LT", "Y");
            } else {
                parms.put("AND_OTHER_PROPORTION_LT", "Y");
            }
            parms.put("otherProportion", example.getOtherProportion());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_PROPORTION_LE", "Y");
            } else {
                parms.put("AND_OTHER_PROPORTION_LE", "Y");
            }
            parms.put("otherProportion", example.getOtherProportion());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getOTHER_FEEExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getOtherFee_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_FEE_NULL", "Y");
            } else {
                parms.put("AND_OTHER_FEE_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_FEE_NOT_NULL", "Y");
            } else {
                parms.put("AND_OTHER_FEE_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_FEE_EQUALS", "Y");
            } else {
                parms.put("AND_OTHER_FEE_EQUALS", "Y");
            }
            parms.put("otherFee", example.getOtherFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_FEE_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_OTHER_FEE_NOT_EQUALS", "Y");
            }
            parms.put("otherFee", example.getOtherFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_FEE_GT", "Y");
            } else {
                parms.put("AND_OTHER_FEE_GT", "Y");
            }
            parms.put("otherFee", example.getOtherFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_FEE_GE", "Y");
            } else {
                parms.put("AND_OTHER_FEE_GE", "Y");
            }
            parms.put("otherFee", example.getOtherFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_FEE_LT", "Y");
            } else {
                parms.put("AND_OTHER_FEE_LT", "Y");
            }
            parms.put("otherFee", example.getOtherFee());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_OTHER_FEE_LE", "Y");
            } else {
                parms.put("AND_OTHER_FEE_LE", "Y");
            }
            parms.put("otherFee", example.getOtherFee());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getTOTALExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        switch (example.getTotal_Indicator()) {
        case PcPatientVisitFeeExample.EXAMPLE_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_TOTAL_NULL", "Y");
            } else {
                parms.put("AND_TOTAL_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_NULL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_TOTAL_NOT_NULL", "Y");
            } else {
                parms.put("AND_TOTAL_NOT_NULL", "Y");
            }
            break;
        case PcPatientVisitFeeExample.EXAMPLE_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_TOTAL_EQUALS", "Y");
            } else {
                parms.put("AND_TOTAL_EQUALS", "Y");
            }
            parms.put("total", example.getTotal());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_NOT_EQUALS:
            if (example.isCombineTypeOr()) {
                parms.put("OR_TOTAL_NOT_EQUALS", "Y");
            } else {
                parms.put("AND_TOTAL_NOT_EQUALS", "Y");
            }
            parms.put("total", example.getTotal());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_TOTAL_GT", "Y");
            } else {
                parms.put("AND_TOTAL_GT", "Y");
            }
            parms.put("total", example.getTotal());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_GREATER_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_TOTAL_GE", "Y");
            } else {
                parms.put("AND_TOTAL_GE", "Y");
            }
            parms.put("total", example.getTotal());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN:
            if (example.isCombineTypeOr()) {
                parms.put("OR_TOTAL_LT", "Y");
            } else {
                parms.put("AND_TOTAL_LT", "Y");
            }
            parms.put("total", example.getTotal());
            break;
        case PcPatientVisitFeeExample.EXAMPLE_LESS_THAN_OR_EQUAL:
            if (example.isCombineTypeOr()) {
                parms.put("OR_TOTAL_LE", "Y");
            } else {
                parms.put("AND_TOTAL_LE", "Y");
            }
            parms.put("total", example.getTotal());
            break;
        }
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    private Map getExampleParms(PcPatientVisitFeeExample example) {
        Map parms = new HashMap();
        parms.putAll(getIDExampleParms(example));
        parms.putAll(getFISCAL_YEARExampleParms(example));
        parms.putAll(getFROM_AREAExampleParms(example));
        parms.putAll(getSORT_IDExampleParms(example));
        parms.putAll(getPATIENT_TYPEExampleParms(example));
        parms.putAll(getPATIENT_NUMExampleParms(example));
        parms.putAll(getSUSPICIOUS_MULTIPLEExampleParms(example));
        parms.putAll(getSUSPICIOUS_FEEExampleParms(example));
        parms.putAll(getCHEST_PROPORTIONExampleParms(example));
        parms.putAll(getCHEST_FEEExampleParms(example));
        parms.putAll(getSPUTUM_PROPORTIONExampleParms(example));
        parms.putAll(getSPUTUM_FEEExampleParms(example));
        parms.putAll(getLIVER_PROPORTIONExampleParms(example));
        parms.putAll(getLIVER_FEEExampleParms(example));
        parms.putAll(getBLOOD_PROPORTIONExampleParms(example));
        parms.putAll(getBLOOD_FEEExampleParms(example));
        parms.putAll(getOTHER_PROPORTIONExampleParms(example));
        parms.putAll(getOTHER_FEEExampleParms(example));
        parms.putAll(getTOTALExampleParms(example));
        return parms;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public int selectCountByExample(PcPatientVisitFeeExample example) {
        Map parms = getExampleParms(example);
        int count = ((Integer)getSqlMapClientTemplate().queryForObject("pc_patient_visit_fee.abatorgenerated_selectCountByExample", parms)).intValue();
        return count;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public PageBox selectByExampleWithPaging(PcPatientVisitFeeExample example, int pageSize, int pageNum, String orderByClause) {
        Map parms = getExampleParms(example);
        if (orderByClause != null) {
            parms.put("ABATOR_ORDER_BY_CLAUSE", orderByClause);
        }
        PageBox pageBox = new PageBox();
        PageObject pageObject = new PageObject();
        pageObject.setPageSize(pageSize);
        pageObject.setPageIndex(pageNum);
        int itemAmount = selectCountByExample(example);
        pageObject.setItemAmount(itemAmount);
        List pageList = null;
        if (pageObject.getBeginIndex() <= pageObject.getItemAmount()) {
            pageList = (getSqlMapClientTemplate().queryForList("pc_patient_visit_fee.abatorgenerated_selectByExample", parms, pageObject.getBeginIndex() - 1, pageSize));
        }
        pageBox.setPageObject(pageObject);
        pageBox.setPageList(pageList);
        return pageBox;
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public PageBox selectByExampleWithPaging(PcPatientVisitFeeExample example, int pageSize, int pageNum) {
        return selectByExampleWithPaging(example, pageSize, pageNum, null);
    }

    /**
     * This method was generated by Abator for iBATIS.
     * This method corresponds to the database table pc_patient_visit_fee
     *
     * @abatorgenerated Tue Apr 17 10:39:40 CST 2012
     */
    public int updateByPrimaryKeyForCgs(PcPatientVisitFee record) {
        int rows = getSqlMapClientTemplate().update("pc_patient_visit_fee.abatorgenerated_updateByPrimaryKeyForCgs", record);
        return rows;
    }
}